/**
 * Copyright (2017, ) Institute of Software, Chinese Academy of Sciences
 * Copyright (2017, ) Bocloud Co,. Lmt
 */
package cn.abcsys.devops.core;

import cn.abcsys.devops.core.excutors.Toolkit;

/**
 * @author wuheng@{otcaix.iscsa.ac.cn,beyondcent.com}
 * @date   May 20, 2017
 *
 * CI工具执行器
 * CODER,DOWNLOADER,ESTIMATOR,COMPILER,BUILDER,CHECKER,PUSHER
 */
public abstract class Executor {

	protected Toolkit[] toolkit = new Toolkit[6];
	
	public final static int CODER = 0;
	
	public final static int DOWNLOADER = 1;
	
	public final static int ESTIMATOR  = 2;
	
	public final static int COMPILER   = 3;
	
	public final static int BUILDER    = 4;
	
	public final static int CHECKER    = 5;
	
	public final static int PUSHER     = 6;
	
	/**
	 * 返回当前CIExecutor的唯一ID
	 * 
	 * @return
	 */
	public abstract String getUUID();
	
	public abstract Object setToolkit(String toolkit, String name, String pwd, int type);
	
	public abstract void exec(String url) throws Exception;
}
